import 'package:equatable/equatable.dart';
import 'package:backend.purchases/infrastructure/dtos/api/web/api_bank_card_info_dto.dart';
import 'package:backend.purchases/infrastructure/dtos/api/web/api_web_payment_method_failure_dto.dart';

const kApiWebPaymentMethodPaymentSystemKey = 'payment_system';
const kApiWebPaymentMethodIdKey = 'id';
const kApiWebPaymentMethodUserIdKey = 'user_id';
const kApiWebPaymentMethodSavedKey = 'saved';
const kApiWebPaymentMethodTestKey = 'test';
const kApiWebPaymentMethodBankCardInfoKey = 'bank_card_info';
const kApiWebPaymentMethodFailureKey = 'failure';

abstract class ApiWebPaymentMethodDto extends Equatable {
  String get id;

  String get userId;

  bool get saved;

  bool get test;

  String get paymentSystem;

  ApiWebBankCardInfoDto get bankCardInfoDto;

  ApiWebPaymentMethodFailureDto? get failureDto;

  Map<String, dynamic> toJson();
}
